package com.ruoyi.college.domain.bo;

import com.ruoyi.college.domain.CollegeUser;
import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data;
import lombok.EqualsAndHashCode;
import jakarta.validation.constraints.*;
import com.ruoyi.common.orm.core.domain.BaseEntity;

/**
 * 用户信息，用于记录用户基本信息业务对象 college_user
 *
 * @author AlanZheng
 * @date 2025-03-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = CollegeUser.class, reverseConvertGenerate = false)
public class CollegeUserBo extends BaseEntity
{

    /**
     * 用户ID，主键，自增
     */
    @NotNull(message = "用户ID，主键，自增不能为空")
    private Long id;

    /**
     * 用户名，唯一标识用户
     */
    @NotBlank(message = "用户名，唯一标识用户不能为空")
    private String username;

    /**
     * 昵称，用户的显示名称
     */
    @NotBlank(message = "昵称，用户的显示名称不能为空")
    private String nickname;

    /**
     * 学号/工号，学生或员工的编号
     */
    @NotBlank(message = "学号/工号，学生或员工的编号不能为空")
    private String userCode;

    /**
     * 角色，0=管理员，1=用户
     */
    @NotNull(message = "角色，0=管理员，1=用户不能为空")
    private Integer role;

    /**
     * 电子邮箱，用于联系或通知
     */
    @NotBlank(message = "电子邮箱，用于联系或通知不能为空")
    private String email;

    /**
     * 用户密码
     */
    @NotBlank(message = "用户密码不能为空")
    private String password;


}
